对于栈和堆的理解

栈(stack)

栈是有结构的,存储的时候按顺序存储,先存进去的在栈的最下面,遵循’先进后出‘的原则,栈中存放的是基本数据类型变量的值,以及引用数据类型中指向堆的引用(地址),占据的空间大小一般是确定的。可以简单理解为手机的运行内存,栈的存取速度比堆要快

堆(heap)

堆中数据的存放是没有结构的,存放的是引用数据类型,堆中存放的数据可以被反复利用,堆的存取速度比较慢,堆内存中存储的数据不会随着方法的结束而销毁,即方法结束后存储的数据还能被另一个引用变量所引用。

注意:所有方法中定义的内存都存储在栈中,随着方法的执行结束,与其对应的内存栈也会自动释放


唐爹
1 声望0 粉丝